1. Field of the Invention
The present invention relates to the field of network software, and more particularly to means and methods for locating resources on the network.
2. Art Background
The Internet is rapidly becoming a new medium for distributing electronic information. A component of the Internet is the World Wide Web (WWW). Data on the World Wide Web (WWW) portion of the Internet is organized through the use of Web pages, which are Hyper Text Mark-up Language (HTML) encoded files or documents that define the collection of information in the page. The data for the Web page is typically stored in files. These files are identified using Universal Resource Locators (hereinafter "URL"s). A URL is an address which points to a particular resource on the Web. For example, URLs identify both Web pages and files which form the content of Web pages. These resources are typically located on Web servers, which are computers running Web server software that enables them to be accessed by way of the Internet. Web browsers are software interfaces that run on World Wide Web clients to provide access to Web servers via a simple user interface. A Web browser allows a Web client to request a particular Web resource from a Web server by specifying a URL. Web browsers display Web pages by simply retrieving the HTML files that describe the page. Once a Web page is displayed, Web resources identified by URLs within the page can be accessed.
Conventional URLs specify an exact location (i.e., both machine and directory on the machine) for an item, such as an HTML page or a GIF (Graphical Interchange Format) image. A URL consists of a domain name, which is an address to a server computer, a file name on that server, and a protocol to use for retrieving the item. An exemplary URL might look like
http://www.intel.com/products/chips/index.html
The tag "http:" describes the protocol used to access the file "chips.htm" on the server at domain "www.intel.com." The term "http" stands for HyperText Transport Protocol (HTTP), which is a communications protocol that allows Web browsers to access Web pages at Web servers (a.k.a sites).
Instead of specifying a file, a URL may specify the name of a program (or the directory containing a program) to execute on the Web server computer. Instead of sending a Web page to the requesting browser, the Web server executes the specified program when the URL is received. Common Gateway Interface (CGI) scripts are an example of this type of program.
The server may be configured so that a special program, known as a filter, is executed before returning an HTML file to a requesting browser. The filter can be used to modify or transform the HTML file before returning it to the browser. It would be desirable to use CGI scripting and filter technology in order to enable URLs to identify files on the Internet in a location-independent manner.
One problem with conventional URLs is that if the files to which the URLs point are moved, deleted, or renamed, all of the HTML files containing URLs identifying that file become obsolete. This is because the HTML files contain links to non-existent or renamed files. It would be desirable if files described by URLs could be moved, deleted, or renamed without causing the HTML files that reference those files to become obsolete. It would also be desirable if, when a first server computer storing a file referenced by a URL is unavailable, a backup version of that file on a second server could be accessed automatically to satisfy references to the file in HTML files. It would be further desirable if any solution to these problems was compatible with existing Web standards.
Another problem with conventional URLs occurs when a Web server is turned off, because the files on that server become inaccessible to other servers on the Web. If the server is off, then the URL specifying that server as the path to a particular file becomes ineffective or obsolete. This is especially a problem in corporate workgroups where employees use their desktop computers as personal Web servers. In this type of environment, workgroup members share information via Web pages and each member of the group contributes some content to the Web page. Accordingly, it would be desirable to obtain the reliable access of a large central server, while maintaining the flexibility provided by personal Web servers. It would also be desirable to achieve the same level of reliability for a home (e.g., non-business) Web server by using an ISP server when the home server is inaccessible.